#include <iostream>
#include <jsoncpp/json/json.h>

int main() {
    // 创建 JSON 对象
    Json::Value root;
    
    // 设置 JSON 字段
    root["name"] = "John";
    root["age"] = 25;
    root["city"] = "New York";

    // 创建 JSON 数组
    Json::Value hobbies(Json::arrayValue);
    hobbies.append("reading");
    hobbies.append("hiking");
    hobbies.append("gaming");

    // 将数组添加到 JSON 对象
    root["hobbies"] = hobbies;

    // 序列化为 JSON 字符串
    Json::StreamWriterBuilder writer;
    std::string jsonStr = Json::writeString(writer, root);

    // 打印 JSON 字符串
    std::cout << jsonStr << std::endl;
    

    // // 解析 JSON 字符串
    // Json::CharReaderBuilder reader;
    // Json::Value parsedRoot;
    // std::string errMsg;

    // // 解析 JSON
    // if (Json::parseFromStream(reader, std::cin, &parsedRoot, &errMsg)) {
    //     // 从解析后的 JSON 中获取字段值
    //     std::string name = parsedRoot["name"].asString();
    //     int age = parsedRoot["age"].asInt();
    //     std::string city = parsedRoot["city"].asString();

    //     // 打印解析结果
    //     std::cout << "Name: " << name << std::endl;
    //     std::cout << "Age: " << age << std::endl;
    //     std::cout << "City: " << city << std::endl;
    // } else {
    //     // 打印解析错误信息
    //     std::cout << "Failed to parse JSON: " << errMsg << std::endl;
    // }

    return 0;
}

